"""
@author: wy
@file: ex2.py
@time: 2023/7/21 17:22
"""
# ### 2.提取ip相关信息
# *前置知识：json、requests
# *接口：https: // ip.taobao.com / outGetIpInfo?accessKey = alibaba - inc & ip = 要查询的ip地址
# *给一个ip地址，可以通过该接口获取到省份和运营商
# *实现一个ip查询功能
# *用户输入一个ip地址，将查询到的结果显示给用户
# *并将结果用以下格式写入到文件：ip, 国家, 省份, 运营商
import requests
import json
def get(address):
    # 用户输入，注意异常处理
    # 网络请求（500,404）、磁盘IO(打开、写),注意异常处理
    info = requests.get(f"https://ip.taobao.com/outGetIpInfo?accessKey=alibaba-inc&ip={address}")
    with open("info.txt", "a", encoding="utf-8") as fp:
        # 此处可以加异常处理或类型判断
        try:
            fp.write(json.dumps(json.loads(info.content)))
        except Exception as ex:
            raise ValueError("web获取到的数据有误")

    a = json.loads(info.content)
    country = a.get("data").get("country")
    city = a.get("data").get("city")
    isp = a.get("data").get("isp")
    print(f"{address},{country},{city},{isp}")

address = input("请输入你要查询的IP地址：")
get(address)